<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PxFileBuf Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="PhysXLogoBlack.png"/></td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classPxFileBuf.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classPxFileBuf-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">PxFileBuf Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__foundation.html">Foundation</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Callback class for data serialization.  
 <a href="classPxFileBuf.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="PxFileBuf_8h_source.html">PxFileBuf.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a17a9f8dcf7aeed5221f78ad2c785d122"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a> { <a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122ae9ca3a0e3b5d5a01c8526820e7c0ad29">ENDIAN_NONE</a> = 0, 
<a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122a250430fabf897a0a7215e927d90e804b">ENDIAN_BIG</a> = 1, 
<a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122a2ee31c8801eca6be180984790a83e29d">ENDIAN_LITTLE</a> = 2
 }</td></tr>
<tr class="separator:a17a9f8dcf7aeed5221f78ad2c785d122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad90517c9062bd9c4f76c4f4b30cb8979"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979">OpenMode</a> { <br />
&#160;&#160;<a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979a19f34fe662c01159bfc09b648b5b16cb">OPEN_FILE_NOT_FOUND</a>, 
<a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979a8f05c34eecefaa76501a85ec4b0452a7">OPEN_READ_ONLY</a>, 
<a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979ab61521c34c90359331a05fb41ec8d481">OPEN_WRITE_ONLY</a>, 
<a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979adea409bf3c24a9986d810b638652e759">OPEN_READ_WRITE_NEW</a>, 
<br />
&#160;&#160;<a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979addd857cb3d835234fd152a63f8501bcd">OPEN_READ_WRITE_EXISTING</a>
<br />
 }</td></tr>
<tr class="separator:ad90517c9062bd9c4f76c4f4b30cb8979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2442abc9fb9f4ff32fd191176a68dd7e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a2442abc9fb9f4ff32fd191176a68dd7e">SeekType</a> { <a class="el" href="classPxFileBuf.html#a2442abc9fb9f4ff32fd191176a68dd7ea9a8656c41bea2287273ac71836425843">SEEKABLE_NO</a> = 0, 
<a class="el" href="classPxFileBuf.html#a2442abc9fb9f4ff32fd191176a68dd7eabecbf374e20587df095cb58179d586ea">SEEKABLE_READ</a> = 0x1, 
<a class="el" href="classPxFileBuf.html#a2442abc9fb9f4ff32fd191176a68dd7ea73a929448a6bb5382f36ef56227d38c6">SEEKABLE_WRITE</a> = 0x2, 
<a class="el" href="classPxFileBuf.html#a2442abc9fb9f4ff32fd191176a68dd7ea44122534caabc00563b8ecf22b5dfb8b">SEEKABLE_READWRITE</a> = 0x3
 }</td></tr>
<tr class="separator:a2442abc9fb9f4ff32fd191176a68dd7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae46af0c1492c02d53ed1488361b5c7d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ae46af0c1492c02d53ed1488361b5c7d6">PxFileBuf</a> (<a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a> mode=<a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122a2ee31c8801eca6be180984790a83e29d">ENDIAN_LITTLE</a>)</td></tr>
<tr class="separator:ae46af0c1492c02d53ed1488361b5c7d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99b5918f6ae9142a7a440c64055d419e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a99b5918f6ae9142a7a440c64055d419e">~PxFileBuf</a> (void)</td></tr>
<tr class="separator:a99b5918f6ae9142a7a440c64055d419e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cf7383163c096e2439b8c7cad9b8b77"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979">OpenMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a4cf7383163c096e2439b8c7cad9b8b77">getOpenMode</a> (void) const =0</td></tr>
<tr class="separator:a4cf7383163c096e2439b8c7cad9b8b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2d070f55e4e806d75985c9f12e378c2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ac2d070f55e4e806d75985c9f12e378c2">isOpen</a> (void) const</td></tr>
<tr class="separator:ac2d070f55e4e806d75985c9f12e378c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e8f911440f08c021f7a8a2e7303479f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxFileBuf.html#a2442abc9fb9f4ff32fd191176a68dd7e">SeekType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a2e8f911440f08c021f7a8a2e7303479f">isSeekable</a> (void) const =0</td></tr>
<tr class="separator:a2e8f911440f08c021f7a8a2e7303479f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af72ea9fc1222848db164855a3d8f8b70"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#af72ea9fc1222848db164855a3d8f8b70">setEndianMode</a> (<a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a> e)</td></tr>
<tr class="separator:af72ea9fc1222848db164855a3d8f8b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5dca021e561fbfe5976318fd76d10b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ad5dca021e561fbfe5976318fd76d10b4">getEndianMode</a> (void) const</td></tr>
<tr class="separator:ad5dca021e561fbfe5976318fd76d10b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b48571dd85bcdcb138fe8f000596921"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a7b48571dd85bcdcb138fe8f000596921">getFileLength</a> (void) const =0</td></tr>
<tr class="separator:a7b48571dd85bcdcb138fe8f000596921"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae706ac6909e4fe16db22cbe1ca2dc53d"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ae706ac6909e4fe16db22cbe1ca2dc53d">seekRead</a> (uint32_t loc)=0</td></tr>
<tr class="memdesc:ae706ac6909e4fe16db22cbe1ca2dc53d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seeks the stream to a particular location for reading.  <a href="#ae706ac6909e4fe16db22cbe1ca2dc53d">More...</a><br /></td></tr>
<tr class="separator:ae706ac6909e4fe16db22cbe1ca2dc53d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fab04894cb6b2c4440e87ca33d66340"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a7fab04894cb6b2c4440e87ca33d66340">seekWrite</a> (uint32_t loc)=0</td></tr>
<tr class="memdesc:a7fab04894cb6b2c4440e87ca33d66340"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seeks the stream to a particular location for writing.  <a href="#a7fab04894cb6b2c4440e87ca33d66340">More...</a><br /></td></tr>
<tr class="separator:a7fab04894cb6b2c4440e87ca33d66340"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae95878d923a94bcaf3181164bcfc8a3f"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ae95878d923a94bcaf3181164bcfc8a3f">read</a> (void *mem, uint32_t len)=0</td></tr>
<tr class="memdesc:ae95878d923a94bcaf3181164bcfc8a3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads from the stream into a buffer.  <a href="#ae95878d923a94bcaf3181164bcfc8a3f">More...</a><br /></td></tr>
<tr class="separator:ae95878d923a94bcaf3181164bcfc8a3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63e0abac3fa4cf71760142dd7088ef36"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a63e0abac3fa4cf71760142dd7088ef36">peek</a> (void *mem, uint32_t len)=0</td></tr>
<tr class="memdesc:a63e0abac3fa4cf71760142dd7088ef36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads from the stream into a buffer but does not advance the read location.  <a href="#a63e0abac3fa4cf71760142dd7088ef36">More...</a><br /></td></tr>
<tr class="separator:a63e0abac3fa4cf71760142dd7088ef36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28cf8048c35fbad96bd0ddf07daebbb6"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a28cf8048c35fbad96bd0ddf07daebbb6">write</a> (const void *mem, uint32_t len)=0</td></tr>
<tr class="memdesc:a28cf8048c35fbad96bd0ddf07daebbb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a buffer of memory to the stream.  <a href="#a28cf8048c35fbad96bd0ddf07daebbb6">More...</a><br /></td></tr>
<tr class="separator:a28cf8048c35fbad96bd0ddf07daebbb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9fe8c3cc65c200c567ae5136a235b0c"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ab9fe8c3cc65c200c567ae5136a235b0c">tellRead</a> (void) const =0</td></tr>
<tr class="memdesc:ab9fe8c3cc65c200c567ae5136a235b0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports the current stream location read aqccess.  <a href="#ab9fe8c3cc65c200c567ae5136a235b0c">More...</a><br /></td></tr>
<tr class="separator:ab9fe8c3cc65c200c567ae5136a235b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a986d2a728e77c789dd2edb58bc965963"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a986d2a728e77c789dd2edb58bc965963">tellWrite</a> (void) const =0</td></tr>
<tr class="memdesc:a986d2a728e77c789dd2edb58bc965963"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports the current stream location for write access.  <a href="#a986d2a728e77c789dd2edb58bc965963">More...</a><br /></td></tr>
<tr class="separator:a986d2a728e77c789dd2edb58bc965963"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c923528768b05d87a40a9d33ab22397"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a7c923528768b05d87a40a9d33ab22397">flush</a> (void)=0</td></tr>
<tr class="memdesc:a7c923528768b05d87a40a9d33ab22397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Causes any temporarily cached data to be flushed to the stream.  <a href="#a7c923528768b05d87a40a9d33ab22397">More...</a><br /></td></tr>
<tr class="separator:a7c923528768b05d87a40a9d33ab22397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19a8aa14b29743084e9d8f8e983151ce"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a19a8aa14b29743084e9d8f8e983151ce">close</a> (void)</td></tr>
<tr class="memdesc:a19a8aa14b29743084e9d8f8e983151ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the stream.  <a href="#a19a8aa14b29743084e9d8f8e983151ce">More...</a><br /></td></tr>
<tr class="separator:a19a8aa14b29743084e9d8f8e983151ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29883e06738c0d08d7ec102a9259e0ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a29883e06738c0d08d7ec102a9259e0ff">release</a> (void)</td></tr>
<tr class="separator:a29883e06738c0d08d7ec102a9259e0ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a6a4bf0fd0e495557a57075aa03cfaf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a0a6a4bf0fd0e495557a57075aa03cfaf">swap2Bytes</a> (void *_data) const</td></tr>
<tr class="separator:a0a6a4bf0fd0e495557a57075aa03cfaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad586a931d848bc5e0e9af836ed5ce0f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ad586a931d848bc5e0e9af836ed5ce0f9">swap4Bytes</a> (void *_data) const</td></tr>
<tr class="separator:ad586a931d848bc5e0e9af836ed5ce0f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a628ea403ea1054ac1d67a85b2dd82358"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a628ea403ea1054ac1d67a85b2dd82358">swap8Bytes</a> (void *_data) const</td></tr>
<tr class="separator:a628ea403ea1054ac1d67a85b2dd82358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4522927d2ddb0af751443de8292cf84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ac4522927d2ddb0af751443de8292cf84">storeDword</a> (uint32_t v)</td></tr>
<tr class="separator:ac4522927d2ddb0af751443de8292cf84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a598346fa996f55e3e195cb5b5df86faa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a598346fa996f55e3e195cb5b5df86faa">storeFloat</a> (float v)</td></tr>
<tr class="separator:a598346fa996f55e3e195cb5b5df86faa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24b58be8fbcfdb159411494cc6ff89c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a24b58be8fbcfdb159411494cc6ff89c9">storeDouble</a> (double v)</td></tr>
<tr class="separator:a24b58be8fbcfdb159411494cc6ff89c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa050d73be42f3e7179374c5e91841392"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#aa050d73be42f3e7179374c5e91841392">storeByte</a> (uint8_t b)</td></tr>
<tr class="separator:aa050d73be42f3e7179374c5e91841392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab37c7194f8a6728802b75f487b878499"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ab37c7194f8a6728802b75f487b878499">storeWord</a> (uint16_t w)</td></tr>
<tr class="separator:ab37c7194f8a6728802b75f487b878499"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceee4e153b50d05f28332f9996c6e94c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#aceee4e153b50d05f28332f9996c6e94c">readByte</a> (void)</td></tr>
<tr class="separator:aceee4e153b50d05f28332f9996c6e94c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe4421a263b5e3c60c81f5e0068bc863"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#abe4421a263b5e3c60c81f5e0068bc863">readWord</a> (void)</td></tr>
<tr class="separator:abe4421a263b5e3c60c81f5e0068bc863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13cf0e0a8635da5e6b068489dee322a2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a13cf0e0a8635da5e6b068489dee322a2">readDword</a> (void)</td></tr>
<tr class="separator:a13cf0e0a8635da5e6b068489dee322a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9725184b0e5aaa962e04c490be374f97"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a9725184b0e5aaa962e04c490be374f97">readFloat</a> (void)</td></tr>
<tr class="separator:a9725184b0e5aaa962e04c490be374f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade3c04f414a5d170b679c9731495f099"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#ade3c04f414a5d170b679c9731495f099">readDouble</a> (void)</td></tr>
<tr class="separator:ade3c04f414a5d170b679c9731495f099"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a96838a3d29b0b91d2046b0aa4381eca6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a96838a3d29b0b91d2046b0aa4381eca6">isBigEndian</a> ()</td></tr>
<tr class="separator:a96838a3d29b0b91d2046b0aa4381eca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a47cf6bed5f9dca3628f4b61fc6ec6eb8"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a47cf6bed5f9dca3628f4b61fc6ec6eb8">STREAM_SEEK_END</a> =0xFFFFFFFF</td></tr>
<tr class="memdesc:a47cf6bed5f9dca3628f4b61fc6ec6eb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declares a constant to seek to the end of the stream.  <a href="#a47cf6bed5f9dca3628f4b61fc6ec6eb8">More...</a><br /></td></tr>
<tr class="separator:a47cf6bed5f9dca3628f4b61fc6ec6eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a96cf617a20d1a36eee3e75557f7cd5c0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#a96cf617a20d1a36eee3e75557f7cd5c0">mEndianSwap</a></td></tr>
<tr class="separator:a96cf617a20d1a36eee3e75557f7cd5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca5971c98389434b3a37847a110cbfc3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxFileBuf.html#aca5971c98389434b3a37847a110cbfc3">mEndianMode</a></td></tr>
<tr class="separator:aca5971c98389434b3a37847a110cbfc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Callback class for data serialization. </p>
<p>The user needs to supply an <a class="el" href="classPxFileBuf.html" title="Callback class for data serialization. ">PxFileBuf</a> implementation to a number of methods to allow the SDK to read or write chunks of binary data. This allows flexibility for the source/destination of the data. For example the <a class="el" href="classPxFileBuf.html" title="Callback class for data serialization. ">PxFileBuf</a> could store data in a file, memory buffer or custom file format.</p>
<dl class="section note"><dt>Note</dt><dd>It is the users responsibility to ensure that the data is written to the appropriate offset. </dd></dl>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a17a9f8dcf7aeed5221f78ad2c785d122"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17a9f8dcf7aeed5221f78ad2c785d122">&#9670;&nbsp;</a></span>EndianMode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">PxFileBuf::EndianMode</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a17a9f8dcf7aeed5221f78ad2c785d122ae9ca3a0e3b5d5a01c8526820e7c0ad29"></a>ENDIAN_NONE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a17a9f8dcf7aeed5221f78ad2c785d122a250430fabf897a0a7215e927d90e804b"></a>ENDIAN_BIG&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a17a9f8dcf7aeed5221f78ad2c785d122a2ee31c8801eca6be180984790a83e29d"></a>ENDIAN_LITTLE&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<a id="ad90517c9062bd9c4f76c4f4b30cb8979"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad90517c9062bd9c4f76c4f4b30cb8979">&#9670;&nbsp;</a></span>OpenMode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979">PxFileBuf::OpenMode</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad90517c9062bd9c4f76c4f4b30cb8979a19f34fe662c01159bfc09b648b5b16cb"></a>OPEN_FILE_NOT_FOUND&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad90517c9062bd9c4f76c4f4b30cb8979a8f05c34eecefaa76501a85ec4b0452a7"></a>OPEN_READ_ONLY&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad90517c9062bd9c4f76c4f4b30cb8979ab61521c34c90359331a05fb41ec8d481"></a>OPEN_WRITE_ONLY&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad90517c9062bd9c4f76c4f4b30cb8979adea409bf3c24a9986d810b638652e759"></a>OPEN_READ_WRITE_NEW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad90517c9062bd9c4f76c4f4b30cb8979addd857cb3d835234fd152a63f8501bcd"></a>OPEN_READ_WRITE_EXISTING&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<a id="a2442abc9fb9f4ff32fd191176a68dd7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2442abc9fb9f4ff32fd191176a68dd7e">&#9670;&nbsp;</a></span>SeekType</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classPxFileBuf.html#a2442abc9fb9f4ff32fd191176a68dd7e">PxFileBuf::SeekType</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2442abc9fb9f4ff32fd191176a68dd7ea9a8656c41bea2287273ac71836425843"></a>SEEKABLE_NO&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2442abc9fb9f4ff32fd191176a68dd7eabecbf374e20587df095cb58179d586ea"></a>SEEKABLE_READ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2442abc9fb9f4ff32fd191176a68dd7ea73a929448a6bb5382f36ef56227d38c6"></a>SEEKABLE_WRITE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2442abc9fb9f4ff32fd191176a68dd7ea44122534caabc00563b8ecf22b5dfb8b"></a>SEEKABLE_READWRITE&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ae46af0c1492c02d53ed1488361b5c7d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae46af0c1492c02d53ed1488361b5c7d6">&#9670;&nbsp;</a></span>PxFileBuf()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">PxFileBuf::PxFileBuf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a>&#160;</td>
          <td class="paramname"><em>mode</em> = <code><a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122a2ee31c8801eca6be180984790a83e29d">ENDIAN_LITTLE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a99b5918f6ae9142a7a440c64055d419e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99b5918f6ae9142a7a440c64055d419e">&#9670;&nbsp;</a></span>~PxFileBuf()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual PxFileBuf::~PxFileBuf </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a19a8aa14b29743084e9d8f8e983151ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19a8aa14b29743084e9d8f8e983151ce">&#9670;&nbsp;</a></span>close()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxFileBuf::close </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Close the stream. </p>

</div>
</div>
<a id="a7c923528768b05d87a40a9d33ab22397"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c923528768b05d87a40a9d33ab22397">&#9670;&nbsp;</a></span>flush()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxFileBuf::flush </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Causes any temporarily cached data to be flushed to the stream. </p>

</div>
</div>
<a id="ad5dca021e561fbfe5976318fd76d10b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5dca021e561fbfe5976318fd76d10b4">&#9670;&nbsp;</a></span>getEndianMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a> PxFileBuf::getEndianMode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a7b48571dd85bcdcb138fe8f000596921"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b48571dd85bcdcb138fe8f000596921">&#9670;&nbsp;</a></span>getFileLength()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t PxFileBuf::getFileLength </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a4cf7383163c096e2439b8c7cad9b8b77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cf7383163c096e2439b8c7cad9b8b77">&#9670;&nbsp;</a></span>getOpenMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classPxFileBuf.html#ad90517c9062bd9c4f76c4f4b30cb8979">OpenMode</a> PxFileBuf::getOpenMode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a96838a3d29b0b91d2046b0aa4381eca6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96838a3d29b0b91d2046b0aa4381eca6">&#9670;&nbsp;</a></span>isBigEndian()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> bool PxFileBuf::isBigEndian </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac2d070f55e4e806d75985c9f12e378c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2d070f55e4e806d75985c9f12e378c2">&#9670;&nbsp;</a></span>isOpen()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool PxFileBuf::isOpen </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a2e8f911440f08c021f7a8a2e7303479f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e8f911440f08c021f7a8a2e7303479f">&#9670;&nbsp;</a></span>isSeekable()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classPxFileBuf.html#a2442abc9fb9f4ff32fd191176a68dd7e">SeekType</a> PxFileBuf::isSeekable </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a63e0abac3fa4cf71760142dd7088ef36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63e0abac3fa4cf71760142dd7088ef36">&#9670;&nbsp;</a></span>peek()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t PxFileBuf::peek </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>mem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads from the stream into a buffer but does not advance the read location. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">mem</td><td>The buffer to read the stream into. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of bytes to stream into the buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the actual number of bytes read. If not equal to the length requested, then reached end of stream. </dd></dl>

</div>
</div>
<a id="ae95878d923a94bcaf3181164bcfc8a3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae95878d923a94bcaf3181164bcfc8a3f">&#9670;&nbsp;</a></span>read()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t PxFileBuf::read </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>mem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads from the stream into a buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">mem</td><td>The buffer to read the stream into. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of bytes to stream into the buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the actual number of bytes read. If not equal to the length requested, then reached end of stream. </dd></dl>

</div>
</div>
<a id="aceee4e153b50d05f28332f9996c6e94c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aceee4e153b50d05f28332f9996c6e94c">&#9670;&nbsp;</a></span>readByte()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t PxFileBuf::readByte </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ade3c04f414a5d170b679c9731495f099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade3c04f414a5d170b679c9731495f099">&#9670;&nbsp;</a></span>readDouble()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double PxFileBuf::readDouble </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a13cf0e0a8635da5e6b068489dee322a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13cf0e0a8635da5e6b068489dee322a2">&#9670;&nbsp;</a></span>readDword()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t PxFileBuf::readDword </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a9725184b0e5aaa962e04c490be374f97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9725184b0e5aaa962e04c490be374f97">&#9670;&nbsp;</a></span>readFloat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float PxFileBuf::readFloat </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="abe4421a263b5e3c60c81f5e0068bc863"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe4421a263b5e3c60c81f5e0068bc863">&#9670;&nbsp;</a></span>readWord()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t PxFileBuf::readWord </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a29883e06738c0d08d7ec102a9259e0ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29883e06738c0d08d7ec102a9259e0ff">&#9670;&nbsp;</a></span>release()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void PxFileBuf::release </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae706ac6909e4fe16db22cbe1ca2dc53d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae706ac6909e4fe16db22cbe1ca2dc53d">&#9670;&nbsp;</a></span>seekRead()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t PxFileBuf::seekRead </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>loc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Seeks the stream to a particular location for reading. </p>
<p>If the location passed exceeds the length of the stream, then it will seek to the end. Returns the location it ended up at (useful if you seek to the end) to get the file position </p>

</div>
</div>
<a id="a7fab04894cb6b2c4440e87ca33d66340"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fab04894cb6b2c4440e87ca33d66340">&#9670;&nbsp;</a></span>seekWrite()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t PxFileBuf::seekWrite </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>loc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Seeks the stream to a particular location for writing. </p>
<p>If the location passed exceeds the length of the stream, then it will seek to the end. Returns the location it ended up at (useful if you seek to the end) to get the file position </p>

</div>
</div>
<a id="af72ea9fc1222848db164855a3d8f8b70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af72ea9fc1222848db164855a3d8f8b70">&#9670;&nbsp;</a></span>setEndianMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void PxFileBuf::setEndianMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a>&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa050d73be42f3e7179374c5e91841392"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa050d73be42f3e7179374c5e91841392">&#9670;&nbsp;</a></span>storeByte()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void PxFileBuf::storeByte </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a24b58be8fbcfdb159411494cc6ff89c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24b58be8fbcfdb159411494cc6ff89c9">&#9670;&nbsp;</a></span>storeDouble()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void PxFileBuf::storeDouble </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac4522927d2ddb0af751443de8292cf84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4522927d2ddb0af751443de8292cf84">&#9670;&nbsp;</a></span>storeDword()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void PxFileBuf::storeDword </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a598346fa996f55e3e195cb5b5df86faa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a598346fa996f55e3e195cb5b5df86faa">&#9670;&nbsp;</a></span>storeFloat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void PxFileBuf::storeFloat </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab37c7194f8a6728802b75f487b878499"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab37c7194f8a6728802b75f487b878499">&#9670;&nbsp;</a></span>storeWord()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void PxFileBuf::storeWord </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>w</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a0a6a4bf0fd0e495557a57075aa03cfaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a6a4bf0fd0e495557a57075aa03cfaf">&#9670;&nbsp;</a></span>swap2Bytes()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void PxFileBuf::swap2Bytes </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>_data</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad586a931d848bc5e0e9af836ed5ce0f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad586a931d848bc5e0e9af836ed5ce0f9">&#9670;&nbsp;</a></span>swap4Bytes()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void PxFileBuf::swap4Bytes </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>_data</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a628ea403ea1054ac1d67a85b2dd82358"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a628ea403ea1054ac1d67a85b2dd82358">&#9670;&nbsp;</a></span>swap8Bytes()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> void PxFileBuf::swap8Bytes </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>_data</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab9fe8c3cc65c200c567ae5136a235b0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9fe8c3cc65c200c567ae5136a235b0c">&#9670;&nbsp;</a></span>tellRead()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t PxFileBuf::tellRead </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reports the current stream location read aqccess. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns the current stream read location. </dd></dl>

</div>
</div>
<a id="a986d2a728e77c789dd2edb58bc965963"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a986d2a728e77c789dd2edb58bc965963">&#9670;&nbsp;</a></span>tellWrite()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t PxFileBuf::tellWrite </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reports the current stream location for write access. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns the current stream write location. </dd></dl>

</div>
</div>
<a id="a28cf8048c35fbad96bd0ddf07daebbb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28cf8048c35fbad96bd0ddf07daebbb6">&#9670;&nbsp;</a></span>write()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t PxFileBuf::write </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>mem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Writes a buffer of memory to the stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">mem</td><td>The address of a buffer of memory to send to the stream. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of bytes to send to the stream.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the actual number of bytes sent to the stream. If not equal to the length specific, then the stream is full or unable to write for some reason. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aca5971c98389434b3a37847a110cbfc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca5971c98389434b3a37847a110cbfc3">&#9670;&nbsp;</a></span>mEndianMode</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122">EndianMode</a> PxFileBuf::mEndianMode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a96cf617a20d1a36eee3e75557f7cd5c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96cf617a20d1a36eee3e75557f7cd5c0">&#9670;&nbsp;</a></span>mEndianSwap</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool PxFileBuf::mEndianSwap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a47cf6bed5f9dca3628f4b61fc6ec6eb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47cf6bed5f9dca3628f4b61fc6ec6eb8">&#9670;&nbsp;</a></span>STREAM_SEEK_END</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const uint32_t PxFileBuf::STREAM_SEEK_END =0xFFFFFFFF</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Declares a constant to seek to the end of the stream. </p>
<p>Does not support streams longer than 32 bits </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PxFileBuf_8h_source.html">PxFileBuf.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classPxFileBuf.html">PxFileBuf</a></li>
    <li class="footer">Copyright &copy; 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a></li>
  </ul>
</div>
</body>
</html>
